﻿/*
SINACOR - BMF&Bovespa
Arquivo: IErroRecepcaoOfertaNegocio.cs
Criado em: 26-nov-2009 17:19:05
Arquiteto Responsável: WGeneroso.prg
*/
using System;
using System.ServiceModel;
using System.Collections.Generic;
using Sinacor.Infra.Common.Exceptions;
using Sinacor.Infra.Service.ExceptionHandling;
using Sinacor.Infra.Service.Security.Services;
using Sinacor.Infra.Common;
using Sinacor.Infra.Common.Exceptions.FaultContracts;

namespace Sinacor.Servico.Bovespa.ManutencaoOrdens.Service.ServiceContract {

	/// <summary>
	/// Contrato de serviços para erros de receções de ofertas e/ou negócios
	/// </summary>
	 [ExceptionShielding]
	 [ServiceContract(Namespace = "http://www.bovespa.com.br/Sinacor.Servico.Bovespa.ManutencaoOrdens.Service.ServiceContract", SessionMode = SessionMode.Allowed, Name="IErroRecepcaoOfertaNegocio")]
	 public interface IErroRecepcaoOfertaNegocio {

		#region Métodos
		/// <summary>
		/// Consulta uma lista de erros de recepções de negocios conforme filtro
		/// </summary>        
		/// <param name="request"></param>
        [OperationLog]
		[FaultContract(typeof(BusinessFault))]
		[FaultContract(typeof(ValidationFault))]
		[FaultContract(typeof(GeneralFault))]
		[FaultContract(typeof(InvalidSessionFault))]
		[FaultContract(typeof(LicensingFault))]
		[FaultContract(typeof(AccessIsDeniedFault))]
        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, Action = "ConsultarErrosRecepcoesNegocios")]
		List<DataContract.Response.ErroRecepcaoNegocioResponse> ConsultarErrosRecepcoesNegocios(DataContract.Request.FiltroErroRecepcaoNegocioRequest request);
		
         /// <summary>
		/// Consulta uma lista de erros de recepções de ofertas conforme filtro.
		/// </summary>        
		/// <param name="request"></param>
        [OperationLog]
		[FaultContract(typeof(BusinessFault))]
		[FaultContract(typeof(ValidationFault))]
		[FaultContract(typeof(GeneralFault))]
		[FaultContract(typeof(InvalidSessionFault))]
		[FaultContract(typeof(LicensingFault))]
		[FaultContract(typeof(AccessIsDeniedFault))]
        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, Action = "ConsultarErrosRecepcoesOfertas")]
		List<DataContract.Response.ErroRecepcaoOfertaResponse> ConsultarErrosRecepcoesOfertas(DataContract.Request.FiltroErroRecepcaoOfertaRequest request);
		
         /// <summary>
		/// Verifica as correções de erros de recepções de negócios        
		/// </summary>
        [OperationLog]
		[TransactionRequired]
		[FaultContract(typeof(BusinessFault))]
		[FaultContract(typeof(ValidationFault))]
		[FaultContract(typeof(GeneralFault))]
		[FaultContract(typeof(InvalidSessionFault))]
		[FaultContract(typeof(LicensingFault))]
		[FaultContract(typeof(AccessIsDeniedFault))]
        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, Action = "VerificarCorrecoesErrosRecepcoesNegocios")]
		void VerificarCorrecoesErrosRecepcoesNegocios();
		
         /// <summary>
		/// Verifica as correções dos erros de recepções de ofertas
		/// </summary>        
		/// <param name="dataPregao"></param>
        [OperationLog]
		[TransactionRequired]
		[FaultContract(typeof(BusinessFault))]
		[FaultContract(typeof(ValidationFault))]
		[FaultContract(typeof(GeneralFault))]
		[FaultContract(typeof(InvalidSessionFault))]
		[FaultContract(typeof(LicensingFault))]
		[FaultContract(typeof(AccessIsDeniedFault))]
        [OperationContract(IsTerminating = false, IsInitiating = true, IsOneWay = false, Action = "VerificarCorrecoesErrosRecepcoesOfertas")]
		void VerificarCorrecoesErrosRecepcoesOfertas(DateTime dataPregao); 
		#endregion Métodos


	}

}